約 4,373,294 件
https://w.atwiki.jp/android-reference/pages/21.html
android Contains the resource classes used by standard Android applications. Classes Manifest Manifest.permission Manifest.permission_group R R.anim R.array R.attr R.bool R.color R.dimen R.drawable R.id R.integer R.layout R.plurals R.raw R.string R.style R.styleable R.xml コメント 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/odroid/pages/16.html
SDKのインストール SDK は http //developer.android.com/sdk/ からダウンロード出来ます。 解凍したフォルダを、SDKを配置したい場所に移動してから、SDK Setup.exe を実行すると、SDKのインストールが開始出来ます。 実機デバッグ環境の構築 ODROID 用 ADB ドライバ http //dev.odroid.com/projects/odroid-t#s-5 これをインストールして PC と接続したら、 コマンドプロンプトで SDK フォルダの tools に移動して adb devices と入力してみてください。 端末情報(BABABEEFBABABEEFなど)が表示されていたら、接続成功です。 表示されていなければ、ODROID 側の設定状態がデバッグ接続になっていない可能性があります。 設定→開発 から、USB デバッグの項目をいじってみてください。 ODROID-S の場合、USB デバッグのチェックがオフの状態で何故か繋がったりすることがありました。 ADBを使ったアプリインストール PC上の apk ファイルを adb install コマンドを使って直接 Android 端末にインストールすることが出来ます。 PATHの設定 SDKのtoolsフォルダを環境変数PATHに登録しておくと便利です。
https://w.atwiki.jp/melodroid/pages/16.html
Android開発環境構築 概略 Androidの標準的なビルド環境の構築について記載する。 基本的には、Android Open Source Projectの和訳になる。 目次 開発環境構築 ソース取得準備 ソース取得方法(repo) ソース取得方法(git) ビルド方法 開発環境構築 Ubuntu Linux(8.04,32bit-x86)上での開発環境構築について書く。 Windows上でやりたい場合は、VMware等を利用して実施。 Macとか他のLinuxディストリビューションについては、参照元をチェック。 アップデート実施「アップデート・マネージャ」を起動する(「システム」→「システム管理」→「アップデート・マネージャ」を選択) アップデートを実施する(「アップデートをインストールする」を押す) パスワードを要求されるので、入力してEnterキーを押す。 必要なパッケージを追加する。「端末」を起動する(「アプリケーション」→「アクセサリ」→「端末」を選択) 「端末」上で、下記のコマンドを入力して、Enterキーを押す。sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev パスワードを要求されるので、入力してEnterキーを押す。事前に、sudoを使った場合は、要求されない場合がある。 パッケージのダウンロードが始まるので、終わるまで待つ。 念のため、再度アップデートを実施 注意事項8.10だと別のパッケージ(lib32readline5-dev)が必要となるらしい 64-bitだと、少し違うらしい ソース取得準備 Android Open Source ProjectからAndroidのソース一式を取得する為のツール「repo」の導入方法を説明。 必要なパッケージ(Git)の取得上記の開発環境構築を実施していれば、再度取得する必要は無い「端末」を起動する(「アプリケーション」→「アクセサリ」→「端末」を選択) 「端末」上で、下記のコマンドを入力して、Enterキーを押す。sudo apt-get install git-core パスワードを要求されるので、入力してEnterキーを押す。事前に、sudoを使った場合は、要求されない場合がある。 パッケージのダウンロードが始まるので、終わるまで待つ。 (動作確認はしてないので・・)他に必要なパッケージがあれば、導入。 repoインストール用のフォルダ作成と設定説明同様に、ホーム配下(~/bin/)に作成する場合を記載(/usr/local/bin/等でも良いと思う)「端末」を起動する(「アプリケーション」→「アクセサリ」→「端末」を選択) ホーム配下に移動する「端末」上で、「cd ~」入力して、Enterキーを押す ホーム配下にbinフォルダを作成「端末」上で、「mkdir bin」入力して、Enterキーを押す コマンド入力時に、binフォルダが検索対象となっていることの確認binフォルダに移動する(端末で「cd bin」) 確認するパスを表示「端末」上で、「pwd」入力して、Enterキーを押す 環境変数を表示「端末」上で、「echo $PATH」入力して、Enterキーを押す 表示される文字列に確認するパス(pwdで表示されたパス)が含まれていることを確認区切り文字は、「 」(コロン) 含まれている場合、検索対称となっている 検索対象となっていない場合の対処方法別のやり方でもできる「.bashrc」を開く端末で「gedit ~/.bashrc」を入力して、Enterキーを押す エディタが開くので、最後に下記1行を追加PATH="$PATH ~/bin" 端末を一度終了させて、再度起動し、環境変数を確認 repoを取得端末で下記を入力して、Enterキーを押すcurl http //android.git.kernel.org/repo ~/bin/repo repoフォルダの設定端末で下記を入力して、Enterキーを押すchmod a+x ~/bin/repo 注意事項repoを導入しなくても、gitだけでソース取得することも可能 「.bashrc」の編集は自己責任で・・。 ソース取得方法(repo) repoを使ってのソースのダウンロード方法について記載。 repoが導入されていることを前提条件とする。 ダウンロード先のフォルダを作成以降、「~/mydroid」として作成したとする フォルダ内に移動端末で「cd ~/mydroid」を入力して、Enterキーを押す ダウンロード情報の初期設定端末で下記を入力して、Enterキーを押すrepo init -u git //android.git.kernel.org/platform/manifest.gitビルドする場合は、「-b cupcake」等を付加して、バージョン固定したほうが良いと思う 名前、メールアドレスの問合せがあるので、入力してEnterキーを押すEnterでデフォルトが入るので、とりあえず、それでも動く 設定ファイル内に格納される。アップロード時に使用される(?) ダウンロード実施端末で下記を入力して、Enterキーを押すrepo sync 注意事項repoのイメージとしては、「manifestに対応して、複数回のgitによるソース取得を実施する」(たぶん・・) 「repo init」、「repo sync」ともに、失敗することがある。その際は、再度実施。 repoのオプション等は、http //source.android.com/download/using-repoをチェック 「repo init」後に、manifestファイル(ローカルに作成されている)を変更することで、パッケージの追加、削除等の操作ができる ソース取得方法(git) gitを使ってのソースのダウンロード方法について記載。 gitが導入されていることを前提条件とする。 (とりあえず、ビルドしたいなら、素直に、repoを使った方が良い) ダウンロード先のフォルダを作成以降、「~/mydroid」として作成したとする フォルダ内に移動端末で「cd ~/mydroid」を入力して、Enterキーを押す サーバからダウンロード端末で下記(例:標準カーネル部分取得)を入力して、Enterキーを押すgit clone git //android.git.kernel.org/kernel/common.git 注意事項gitを1回実施するだけでは、1部分のみのソースを取得するイメージかな 複数回実施して、repo1回と同程度になる(makeするまでに手間がかかる) あるパッケージのソースだけ欲しい場合には、gitのほうが便利 動くソース一式が欲しい場合は、repoのほうがおすすめ ビルド方法 repoによりソースを取得した段階でのビルド方法を記載。 「~/mydroid」内で、「repo init」、「repo sync」を実施した状態だとする ソースのルートフォルダに移動端末で「cd ~/mydorid」を入力してEnterキーを押す ビルドを開始する端末で「make」を入力してEnterキーを押す 注意事項設定を何もしていない状態だと、ユーザ空間のビルドがgeneric設定で実施される。 上記の場合、生成物は「~/mydroid/out/target/product/generic」にできる カーネルビルドは含まれておらず、基本的にユーザランドが生成物となる
https://w.atwiki.jp/sevenlives/pages/1564.html
Linux Kernel? Hardware Abstraction Layer Androidランタイム? Java API フレームワーク? OHA? AIDL? Dalvik VM Androidランタイム? ART? アンドロイド・マーケット? Intent? Over The Air? ブラウザ(Android) Droid Font? Board Support Package? Trebleプロジェクト? Google Play? Android Studio? Android SDK? ■ アプリケーション・フレームワーク Activity Manager? Window Manager? Content Provider? Package Manager? View System? Resource Manager? Location Manager? Notification Manager? ■ Android UI Action Bar Activity(Android) Fragments(Android) Droid Font? Android 2.X? Android 3.X? Android 4.X Android Cupcake? Android Donut? Android Eclair? Android Froyo? Android Gingerbread? Android Honeycomb? Android Ice Cream Sandwich? Android Jelly Bean? Android KitKat? Android Lollipop? Android Marshmallow? Android Nougat? Android Oreo Google HAXM
https://w.atwiki.jp/shanghai_android/pages/9.html
上海Androidの会(英語名:Shanghai Android Group、中国語名:上海Android協会) 会の公用語 日本語です。 会への参加方法 個人、法人共にマイクロブログもしくはメーリングリストにグループ登録することで登録完了です。会への参加自体は無料です。 それぞれの登録は下記から可能になっています。 マイクロブログ、メーリングリスト 会の活動 上海を中心に月に1回の勉強会やオフ会などを行います。また、本メーリングリストによる情報交換、公開なども活発に行っていきたいと考えております。 トップページ
https://w.atwiki.jp/interaction_android/pages/15.html
@Android Project ここでは、大阪工業大学情報科学部のプロジェクトの1つであるAndroid Project Team[○○]の情報共有Wikiです. 基本的には、何かあればこちらを編集して、情報共有を行っていきたいと思います. 学内課題サイト(学内課題 http //interactiondesign.web.fc2.com/index.html) @目的(作成するもの) @会議結果 第1回 第2回 @方針 基本的にLineかSkypeで行う(リーダーのidea) 時間帯は @メンバー リーダー堤下 裕介 サブリーダー高 潔 プログラムリーダー野田 尚吾 デザインリーダー金元 優香 ビジネスモデルリーダー黒澤 一郎 他のメンバー大井 翔 幸 孝明 加藤 嘉寿 @デザイン @セットアップ セットアップページ @アンケートページ アンケート結果 @更新情報 日 付 内 容 2012/08/01 AndroidProjectページ開設 2012/08/03 Androidセットアップページ開設 2012/08/15 アンケート結果ページ開設
https://w.atwiki.jp/teshiroid/pages/14.html
AndroidとはスマートフォンやタブレットPCなどの 携帯情報端末を主なターゲットとして開発された、 プラットフォーム(OS)のこと。googleが開発した。 詳しくはこちら iPhoneとどう違うかもだいたい分かるはず。 質問は受付よう。 auがandroidって連呼していますが、docomoもandroidOSで多く発売していますよ
https://w.atwiki.jp/android/pages/136.html
ネット上に公開されているAndroidアプリケーションの索引 ※基本的にソース、あるいはapkファイルが公開されているもの。 ツール タスクマネージャ SDK version Task manager primitive prototype m3-rc37a以前 メディアプレイヤー Video/Music player sample (from local disk as well as remote URL’s) m3-rc37a以前 メール Send email via GMail (actually via SMTP) m3-rc37a以前 GoogleTalk Totally *Unofficial* Android GTalk Client (Send/Receive XMPP Messages) m3-rc37a以前 Android用Google Talkクライアントをm5-rc14に移植 m5-rc14 Mame Talk Ver.0.8 m5-rc14 Twitter Twitter Client for Android (How to make XML over HTTP calls) m3-rc37a以前 #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (TwitterClient3.png) AndroidでTwitterクライアント ver.3 m3-rc37a以前 地図関連 Androidで地図アプリケーションを作ってみた m3-rc37a以前 Androidの地図アプリをぐるなびに対応しました m3-rc37a以前 Androidの地図アプリをm5-rc14っぽくしてみた m5-rc14 ビューア ComicViewer3 -Androidで電子ブックリーダ m3-rc37a以前 Android用電子ブックリーダをm5-rc14に移植 m5-rc14 ゲーム テーブルゲーム AndroidとFlickrで神経衰弱 m3-rc37a以前 ブロック崩しをm5-rc14に移植 m5-rc14 その他 アンドロイド・アプリケーション こめんと なるべく集めて回るけど作ったひとが自発的に追加してくれるとありがたいなあ - kojira 2008-02-12 21 54 53 プラグイン追加とかが自分で出来ないから不便だなあ。そのうち移転するかも。 - kojira 2008-02-18 23 09 07 名前
https://w.atwiki.jp/conn/pages/21.html
このページは現在作成中です Androidアプリの基本構成 Androidアプリは幾つかのコンポーネントを組み合わせて作成する。コンポーネントはその役割ごとに幾つかに分類される。 Androidアプリを構成する4つのコンポーネント もっとも基本的なコンポートネントは次の4種類。 Activities 画面。アクティビティはそれぞれが独立したコンポーネントとして作成され、その組み合わせでアプリを動作させる。別のアプリから、また別のアプリ内のアクティビティを動作させることも可能。 Services 裏側でこっそり働く子。ユーザーインターフェースは持たない。ネットワークからデータをダウンロードしてきたり、別のアプリを操作中に音楽ファイルを再生したり、ユーザーの操作を邪魔することは無い。アクティビティのような他のコンポーネントから起動され、動作を指定される、サービス精神の塊のような存在。 Content Providers アプリケーションのデータへのアクセス共有を管理しデータの読み書きを行う。ファイルシステムやSQLiteなどのDB、インターネット上のデータなど、さまざまな場所に対応する。許可すれば他のアプリからデータの読み書きが可能だし、その逆も可能。動画を配信してくれる業者ではない。 Broadcast Reciever システムからの通知を受け取ったり、システム全体へ通知を発信したりする。例えばスリープに入った、バッテリーが切れ掛かっている、写真を撮った、などなどの通知を受けたり、発信したりできる。 電話を自動録音するアプリなんかだと、電話が掛かってきたという通知を受けサービスを起動し録音する、という使い方が想定される。 他にもコンポーネントには分類されないが、Androidアプリを構成する重要な要素がある。 マニフェスト アプリに属するコンポーネントを規定するのがマニフェストファイル。XML形式で記述する。 Intentフィルターで、アプリのエントリポイント(初期起動するアクティビティ)を指定する。 例:雛形アプリの AndroidManifest.xml。Intentフィルターが Activityの子要素で指定されている。 activity android name=".MainActivity" android label="@string/title_activity_main" intent-filter action android name="android.intent.action.MAIN" / category android name="android.intent.category.LAUNCHER" / /intent-filter /activity 他にも幾つかのIntent Filterアクションおよびカテゴリーがあるが、アプリアイコンから起動する場合はこの指定が必要だと覚えておけばよい。 他のアプリから 特定の Intentアクションにより起動されるアプリは、別の指定を追加する必要がある。 Intent(インテント:意図) 特定のアクティビティを指定、または「何をしたいのか」を指定し別のアプリを起動する。 同アプリ内のアクティビティ間連携にも使用される。 例:明示的に特定のアクティビティを指定し、EditTextボックスの入力値を渡している Intent intent = new Intent(this, DisplayActivity.class); EditText editText = (EditText) findViewById(R.id.input_message); String message = editText.getText().toString(); intent.putExtra(EXTRA_MESSAGE, message); startActivity(intent); 例:データ表示を指定し、Webページを開く Uri uri = Uri.parse("http //www.android.com"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); 簡略化のため省いているが、通常は事前に実行可能なIntentかチェックするためPackageManagerを使用する。この Intentで開かれるアプリは Intent Filterにて ACTION_VIEWアクションを受け付ける指定があるものの中から選ばれる。 リソース アプリが利用する画像ファイル、レイアウト定義、言語ごとの文字列ファイルなどをひとまとめにし、Rクラスを通じた共通のアクセス方法を提供する。画像、動画、音声などのデータファイル、XMLファイルで構成される。 リソースは異なる解像度、画面サイズ、言語に対応するディレクトリに分けて構成することで自動的に対応するディレクトリ内のファイルが利用されるように最適化される。詳細はこちら その他 基本の4コンポーネント種とリソースの他に、これらをサポートするコンポーネントが幾つかある。 Intent Fragment
https://w.atwiki.jp/fujiyan/pages/38.html
(作成中) WebコミックLibraryhttp //web-comi.appspot.com/GAE/JとSlim3で作成してみた、各出版社から配信されているWebコミックをまとめて閲覧できるサイトです。只今、実験運用中… 参考サイト 公式サイト Androidで動く携帯Javaアプリ作成入門 Tech Booster 逆引きAndroid入門 ActivityとView 参考 Android Developers 世界を目指せ!Androidアプリ開発入門 Activityは、画面を表す。 ViewはUIを構成する部品。ActivityにViewを設定することで、画面を構築する。 Viewの構成方法は2つ(静的)レイアウトXMLを記述してコンパイルしたものを設定。お手軽。通常はこっち (動的)Viewオブジェクトを適宜生成して設定。前もって作成するViewが決まらない場合はこっち。 XMLでViewを定義 res/layout以下に.xmlファイルを作成 作成すると、R.layout.[ファイル名]という定数名で、作成したViewを表すIDが定義される(ファイル名がmain_layout.xmlなら、R.layout.main_layoutという定数が定義される)。 定義されたIDをActivity#setContentView()に渡す。 複数のView定義が必要な場合は、その分だけxmlファイルを作れば良い。 画面切り替え 参考 アンドロドロ バックボタンで前画面に戻したい場合はActivity切り替えで実装。バックボタンを押すと、アクティブなActivityに対してfinish()が呼び出され、直前のActivityがアクティブになる。ブラウザの「戻る」感覚だろうから、こっちが通常なんでしょう。 グローバルリソース(カメラ等)の取得/解放は、よほどの事情が無い限り、onResume()/onPause()で行うこと。でも、カメラでよくやるような、SurfaceHolderのsurfaceCreated()/surfaceDestroyed()は、Activity切り替え時のタイミングで呼ばれるっぽいので、ここでカメラの取得/解放を行っても大丈夫っぽい(あやふや)。 Activityを2つ用意するのか、1つのActivity内でViewFlipperを使うかは悩み中。多分、メモリ管理を細かく制御して、OSに負担を掛けないようにするのはActivity2つなんでしょう。次画面のActivity起動時に次画面用のリソースを取得、前画面のリソースを解放とか、onStop()/onRestart()でリソースの一時解放/再取得とか。 ViewFlipperの場合は、全ての画面のリソースをまとめてメモリにロードするんじゃないかと。 アプリケーションの終了 単一Activityの場合はfinish()で良い。 複数Activityの場合は、最後に開始したActivityから順次finish()していき、最後にroot Activityをfinish()させるのが良いと思う。これは、Activityはスタックに詰まれていくことに由来。LIFOでfinish()していく。 多分、ActivityからTaskを終了させる方法は無い。何故なら、Activityは、さまざまなTaskから呼ばれることを想定しているため、自分を呼んだTaskを勝手に終了させるわけにはいけないから、かと。 moveTaskToBack()でTaskをバックグラウンドに追いやって、そのうちOSに掃除してもらう、という方法もある。こっちがAndroidの標準だ、という話もあるけど、何となく、うーん。だって、この方法だと、再起動したときに、前の状態から開始されてしまうし…。 moveTaskToBack()はあくまで「中断」であり、「終了」はやっぱり地道にfinish()していくべきだと思うの 一般的な実装としては、startActivityForResult()でchild Activityを開始し、child Activityの終了後に呼ばれるonActivityResult()で、自身もfinish()する System.exit(0)で終わらせてはゼッタイダメ。 カメラ(Android 2.1 API Level 7) AndroidManifest.xmlの記述 参考 プログラマのネタ帳 uses-permission android name="android.permission.CAMERA" / uses-feature android name="android.hardware.camera" / uses-feature android name="android.hardware.camera.autofocus" / uses-feature android name="android.hardware.camera.flash" / uses-permissionで、カメラ利用の許可が必要であることを宣言し、残りの3つでカメラ、オートフォーカス、フラッシュの機能を使用することを宣言します。 また、Activityの属性に下記を追加。 android screenOrientation="landscape" android theme="@android style/Theme.NoTitleBar.Fullscreen" screenOrientationの設定は、なんか、カメラは水平でしか使えないらしいため…。 themeの設定は、アプリをフルスクリーン表示にするため。カメラアプリは基本的にフルスクリーン。 MediaStore.Images.Media.insertImage()で保存すると画質が落ちる 参考 日本Androidの会 画像を加工しない場合は、生成されたjpegデータをそのまま保存する。 // Camera#takePicture()の第3引数に渡す、コールバックオブジェクト private Camera.PictureCallback pictureListener = new Camera.PictureCallback() { public void onPictureTaken(byte[] data, Camera camera) { try { insertImageToMediaStore(data); } catch (IOException e) { throw new RuntimeException(e); } //後処理を記述 } }; // dataに格納されたjpegデータを保存 private void insertImageToMediaStore(byte[] data) throws IOException { ContentResolver resolver = getContentResolver(); ContentValues values = new ContentValues(); values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); values.put(MediaStore.Images.Media.DATE_TAKEN, System.currentTimeMillis()); Uri uri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); ByteArrayInputStream in = new ByteArrayInputStream(data); try { int size; final int BUFFER_SIZE = 8192; byte[] buffer = new byte[BUFFER_SIZE]; BufferedOutputStream out = new BufferedOutputStream(resolver.openOutputStream(uri)); try { while ((size = in.read(buffer, 0, buffer.length)) 0) { out.write(buffer, 0, size); } out.flush(); } finally { out.close(); } } finally { in.close(); } } 画像を加工して保存 参考 Androidのあ~ん rTAKI0329's android ブログ グロブ(OutOfMemoryで落ちる件) なんか、下の方法みたいに、カメラの撮影サイズでBitmapの別インスタンスを生成すると、メモリ不足で落ちるっぽいぞ…。エミュレーション環境では普通に動くけど、実機でカメラ撮影後に突然落ちるような場合は原因の一つとして疑ってみてもいいかも コールバックメソッドに渡されるjpegデータをBitmapに変換して、Canvasで描画をする。その後、Bitmapをjpegで保存する。 jpeg→ビットマップ→jpegの変換を行うので、画質が落ちたり、ファイルサイズが増えたり…。 BitmapFactory.decodeByteArray()で作るBitmapがimmutableなため、copy()でmutableなBitmapを再作成する。API Level 11なら、decodeByteArray()のオプションでmutableなBitmapを直接作れるかも? // Camera#takePicture()の第3引数に渡す、コールバックオブジェクト private Camera.PictureCallback pictureListener = new Camera.PictureCallback() { public void onPictureTaken(byte[] data, Camera camera) { Bitmap orgBmp = BitmapFactory.decodeByteArray(data, 0, data.length); Bitmap bmp = orgBmp.copy(Bitmap.Config.ARGB_8888, true); Canvas canvas = new Canvas(bmp); // canvasで描画 try { insertImageToMediaStore(bmp); } catch (IOException e) { throw new RuntimeException(e); } camera.startPreview(); } }; // Bitmapをjpegで保存 private void insertImageToMediaStore(Bitmap bmp) throws IOException { ContentResolver resolver = getContentResolver(); ContentValues values = new ContentValues(); values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); values.put(MediaStore.Images.Media.DATE_TAKEN, System.currentTimeMillis()); Uri uri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); BufferedOutputStream out = new BufferedOutputStream(resolver.openOutputStream(uri)); try { bmp.compress(Bitmap.CompressFormat.JPEG, 100, out); out.flush(); } finally { out.close(); } } GPSとジオコーディング(Android 2.1 API Level 7) LocationManagerを取得する。 LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); onLocationChanged()が呼ばれなくなる 参考 A Day In The Life LocationManager#removeUpdates()を呼ばずにActivityを終了させると、次回起動時にonLocationChanged()が呼ばれなくなるらしいです。必ず呼びましょう。 配布と署名 アプリケーションはapkファイルにパッケージングして配布する。 署名付きapkファイルじゃないと、端末にインストールされません。 署名のためのkeytool使用法 参考 Android Developers keyalgで指定するアルゴリズムはDSAとRSAがサポートされているらしい。通常はRSAにしておきましょう。 keysizeについては2048以上を推奨とされています。 validityで指定する有効期限については、10000日以上を推奨されています。 ということで、推奨されるkeytoolのオプションは keytool -genkey -v -keystore [keystoreファイル名] -alias [エイリアス] -keyalg RSA -keysize 2048 -validity 10000 1つのkeystoreに対して、複数の鍵を生成できる。keystoreの中で、鍵を識別するためにエイリアスを用いる。 なので例えば、keystoreファイル名はワークスペース名、エイリアスはプロジェクト名(=アプリケーション名)、みたいな感じにすると良い(あくまで例)。 keytool -genkey -v -keystore workspace.keystore -alias app1 -keyalg RSA -keysize 2048 -validity 10000 keytool -genkey -v -keystore workspace.keystore -alias app2 -keyalg RSA -keysize 2048 -validity 10000 keystoreファイルやパスワードは失くしたり忘れたりしないようにね あれ、keytoolいらなくね?(ADT Plugin for Eclipseがあれば) apkを作成したいアプリのプロジェクトのルートのコンテキストメニューから、[Export...]→[Android]-[Export Android Application]を選択する。 [Project Checks]で、何もエラーが無いことを確認して[Next ] [Keystore selection]では、最初にkeystoreファイルを作る場合は[Create new keystore]を選択[Location]には、keystoreファイルのフルパスを入力失くさないように、ワークスペース内に、keystoreファイル格納用のプロジェクトを作成し、そこに作成すると良いかも。 [Password]と[Confirm]には、keystoreファイルにアクセスするためのパスワードを入力する。 [Key Creation]では、下記を入力[Alias]には鍵のエイリアスを入力。まぁ普通はアプリケーション名 [Password]と[Confirm]には、鍵にアクセスするためのパスワードを入力する。 [Validity]には年を入力するので注意。推奨は25年以上です。 [First and Last Name]から[Country Code (XX)]については、どれか1つにでも入力すればOK。 [Destination and key/certificate checks]では、下記を入力[Destination APK file]に、出力するapkファイルをフルパスで入力。 あらまぁ簡単